// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLPartitionBy;
// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObject;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../../../sql/ast/SQLPartitionBy.h"
#include "../../../../../sql/dialect/mysql/ast/MySqlObject.h"
class SQLASTVisitor;
class MySqlASTVisitor;
class SQLExpr;

class MySqlPartitionByKey :public SQLPartitionBy ,virtual public MySqlObject {
  public:
    int algorithm;

    MySqlPartitionByKey();
  SHAREDOBJECT(MySqlPartitionByKey);
    // @Override
    void accept0(SQLASTVisitor_ptr  visitor) ;

    // @Override
    void accept0(MySqlASTVisitor_ptr  visitor) ;

    void cloneTo(MySqlPartitionByKey_ptr x) ;

    // MySqlPartitionByKey* clone() ;
virtual SQLObject_ptr clone();
    int getAlgorithm() ;

    void setAlgorithm(int algorithm) ;
};
